package com.zyj.ai_agent.demo.invoke;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;

public class HttpAiInvoke{
    public static void main(String[] args) {
        // API 地址
        String url = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation";

        // 构建 messages 数组
        JSONArray messages = new JSONArray();
        messages.add(new JSONObject()
                .put("role", "system")
                .put("content", "You are a helpful assistant."));
        messages.add(new JSONObject()
                .put("role", "user")
                .put("content", "你是谁？"));

        // 构建 input 对象，包含 messages
        JSONObject input = new JSONObject();
        input.put("messages", messages);

        // 构建 parameters 对象
        JSONObject parameters = new JSONObject();
        parameters.put("result_format", "message");

        // 构建最终的请求体
        JSONObject body = new JSONObject();
        body.put("model", "qwen-plus");
        body.put("input", input);
        body.put("parameters", parameters);

        // 发起 POST 请求
        HttpResponse response = HttpRequest.post(url)
                .header("Authorization", TestApiKey.API_KEY)
                .header("Content-Type", "application/json")
                .body(body.toString()) // Hutool JSON 会自动序列化为标准 JSON 字符串
                .execute();

        // 输出响应
        System.out.println("Response: " + response.body());
    }
}
